iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0
AI & Data

從Keras框架與數學概念了解機器學習系列 第 30

30. 提供查詢問題的參考

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20230930/20144614NVjKoTg96j.jpg

此系列內容的順序為 keras訓練架構運作 -> 機器學習概念 -> 相關數學概述,是為了提供日後有需要時,可以查閱參考,得以解決問題。其敘述方式與前一系列 [Dot Net Core]圖解系列與常用套件相似,將框架如何運作重點式的參考。

如果要學使用其它API框架,如PyTorch,一樣舉一反三可以很快上手;前提是深度學習如何運作的,還是要去學習探討後,比較有籌碼去舉一反三地融入應用。目前Keras仍有在維護,修正了早期的錯誤,也有不少資源可以參考。

有以下幾類要點要注意:

1. keras API 的使用時的參考

例如有出現此問題:
https://ithelp.ithome.com.tw/upload/images/20230930/20144614twTh4ybWMH.png

錯誤程式為:

model.compile(optimizer= 
 optimizers.get( {"class_name": "rmsprop", "config": {"learning_rate" : "0.001"} } ) ,
 loss="sparse_categorical_crossentropy",
 metrics=["accuracy"])

查閱 15. optimizer 與 learning_rate,有提到class_and_config_for_serialized_keras_object ,得知

"config": {"learning_rate" : "0.001"} 要設定為 "config": {"learning_rate" : 0.001} ,0.001應為數值而非字串。

再看一個問題:
https://ithelp.ithome.com.tw/upload/images/20230930/20144614D2eH0lApp8.png

查閱 20. 使用 callbacks.ModelCheckpoint 求最佳模型,model.fit 參數加上 validation_split=0.2 可以修正此錯誤。

而此問題:
https://ithelp.ithome.com.tw/upload/images/20230930/20144614lw621pZnHt.png

查閱 20. 使用 callbacks.ModelCheckpoint 求最佳模型,model.compiler 參數 metrics 陣列中加上 "accuracy" 得以修正。

2. 撰寫機器訓練時要注意的地方

大部分會使用 python來撰寫,但其實任何語言都可以進行機器學習的任務。既然不限任何語言,程式的架構非常重要,關係到是否可以讓成員容易維護,加速開發時間,與方便溝通、管理。專案進行與管理,如同建築大樓,一開始一定是勘察基底與建立框架,如果基底與框架沒處理好,建築是很容易垮的,也影響後續的工程。

要如何達成,推薦要找好的Pattern,以好的設計模式來建構基底,好擴充好融入使得走得長久。 keras 是不錯的框架與介面,就是一個設計的參考。另外物件的容易使用,API化的設計也是非常重要。

3. 建議多多學習數學概念

傳統的程式,能夠搭配使用design pattern 、MVC、micro-service 等方式進行,達成階段動態自動化其實很厲害了,但如果真正讓機器"活起來"學習,讓機器可以被教導,絕對不是單純用人的語言或過去使用的迴圈、判斷式語法就能達成,而是數學。沒有數學,就沒有現在的大樓、交通工具、工廠製造等等,即使搭捷運,火車,在抵達目的地的煞車,都會用到模糊理論;總不能固定的反作用力停下來吧? 這樣被運輸目標一定會損傷損害。

數學是個跳脫目前狀態的捷徑,另外的"哲學"思維,跳躍到另一層次,不同的定理可能造就不同的科技。不要有所侷限,說不定不同的科技就是靠翻轉到另一個定理達成的!  

另外,無論面對什麼,就是不設限與謙遜,拿出經驗與耐心,如同去年鐵人系列的最後一篇https://ithelp.ithome.com.tw/articles/10301367 ,把自己當作難纏的陸戰隊,去挑戰未來!


上一篇
29. 從需求分析預測來發現機器學習如何幫助組織
系列文
從Keras框架與數學概念了解機器學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
whoami
iT邦新手 3 級 ‧ 2023-10-01 20:35:39

恭喜完賽

czxdas iT邦新手 1 級 ‧ 2023-10-02 13:42:39 檢舉

/images/emoticon/emoticon41.gif

我要留言

立即登入留言